<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         //1. create 创建对象
         var obj = Object.create({
            // 给obj这个对象的原型上创建一个属性
            name:'张三'
        })
        console.log(obj);


        //2. create(在对象的原型上创建属性,对象上创建属性)
        var obj = Object.create(null,{
            
            name :{
                value : '张三', // value是该属性的属性值，默认为undefined。
                writable : true, // writable是一个布尔值，表示属性值（value）是否可改变（即是否可写），默认为true。
                configurable : true,  // 默认是true , 可以更改属性,值为false时,阻止某些操作改写该属性
                enumerable : true,    // 默认是true , 可以循环遍历,值为false时,会使得某些操作（比如for...in循环、Object.keys()）跳过该属性。
            },
            age : {
                value : '20',
                writable : true,
                configurable : true,
                enumerable : true,
            }
        })

        // 通过存储器配置对象
        
        var obj = Object.create(null,{
            name : {
                get: function(){
                    // 获取属性值的时候 自动调用get方法
                    return '张三'
                },
                    // 设置属性时自动调用set方法
                set: function(newvalue){
                    console.log('修改了',newvalue);
                } 
            },
            configurable : true,
            enumerable :true
        })
        console.log(obj);
        obj.name; // 获取name的值,调用get函数
        obj.name = '李四'; // 设置name的值;调用set 函数





    </script>
</body>
</html>